package com.carrentalplatform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carrentalplatform.model.Evaluation;

/**
 * 评价服务接口
 */
public interface EvaluationService extends IService<Evaluation> {
    
    /**
     * 添加评价
     * @param evaluation 评价信息
     * @return 操作结果
     */
    boolean addEvaluation(Evaluation evaluation);
    
    /**
     * 查询用户的评价列表
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页大小
     * @return 评价分页列表
     */
    IPage<Evaluation> getUserEvaluations(Long userId, int page, int size);
    
    /**
     * 查询车行的评价列表
     * @param shopId 车行ID
     * @param page 页码
     * @param size 每页大小
     * @return 评价分页列表
     */
    IPage<Evaluation> getShopEvaluations(Long shopId, int page, int size);
    
    /**
     * 查询订单的评价
     * @param orderId 订单ID
     * @return 评价信息
     */
    Evaluation getOrderEvaluation(Long orderId);
    
    /**
     * 计算车行平均评分
     * @param shopId 车行ID
     * @return 平均评分
     */
    Double calculateShopAvgScore(Long shopId);
} 